// $Id$
// Copyright (c) 2008 by Brian Manning <elspicyjack at gmail dot com>
// - these comments will be stripped out of the parsed file
// - valid JavaScript syntax is what we're looking for here
// - don't get sloppy with punctionation like you can in perl; no extra commas
//   after closing brackets/braces for example

/*
#### INSTALL TYPES ####
InstType "The Starter - Perl, GTK, DB libs"
InstType "The Step Up - The Starter with extra tools/libs"
InstType "The Developer - The Standard+ with dev files"
InstType "Bloatware - Everything, The Whole Enchilada"
InstType "Basics - Perl Only"
InstType "Basics - Perl with All Non-GTK Modules"
InstType "Basics - Perl with Database Support only"
InstType "Vapourware - Nothing"
*/

// FIXME 
// - add a 'filehint' to each section; if filehint is populated, then
// nsh_builder.pl should look for that file first when building the NSH file;
// if it doesn't find that file, it can fall back to the newest file found

{ 
	"baseurls" : [
		"http://camelbox.googlecode.com/files"
	],
    "manifest": [
        "header",
        "sec_writeuninstaller",
        "perl-5.10.0-core",
        "group_gtk2-perl-core",
        "group_gtk2-perl-extra",
        "group_gtk2-perl-apps",
        "group_extra-perl-mods",
        "group_perl-databases",
        "group_dev-packages",
		"group_database-tools",
        "group_extra-tools",
		"group_bloatware",
        "group_docs-examples",
        "sec_environmentvariables",
        "sec_uninstall",
        "footer"
    ], // manifest
    "groups": {
        "group_gtk2-perl-core": {
            "description": "Core Gtk2-Perl Packages",
            "expanded_flag": 0,
            "sections_list": [  "gtk-core-bin", "imagelibs-bin",
                                "gtk-support-bin", "perl-Gtk2-core" ]
        }, // group_gtk2-perl-core
        "group_gtk2-perl-extra": {
            "description": "Extra Gtk2-Perl Packages",
            "expanded_flag": 0,
            "sections_list": [  "libglade-bin", "perl-Gtk2-GladeXML",
                                "libgnomecanvas-bin", "perl-Gnome2-Canvas",
							   	"libgoocanvas-bin", "perl-Goo-Canvas"	]
        }, // group_gtk2-perl-extra
        "group_gtk2-perl-apps": {
            "description": "Gtk2-Perl Applications",
            "expanded_flag": 1,
            "sections_list": [  "perl-App-Asciio", "perl-App-Sprog",
								"perl-Gtk2-Ex-DBI", 
								"perl-Gtk2-Ex-Datasheet-DBI",
								"perl-Gtk2-Ex-PodViewer" ]
        }, // group_gtk2-perl-apps
        "group_extra-perl-mods": {
            "description": "Extra Perl Modules",
            "expanded_flag": 0,
            "sections_list": [  "perl-5.10.0-cpan_metadata", "perl-XML-Parser",
								"perl-YAML", "perl-LWP", "perl-Moose",
                                "perl-PAR", "perl-PAR-Packer",
							    "perl-Log-Log4perl", "perl-TimeDate",
								"perl-JSON", "perl-Win32-API-ODBC",
							   	"perl-Tk", "perl-Bundle-libwin32" ]
        }, // group_extra-perl-mods 
        "group_perl-databases": {
            "description": "Perl Database Support",
            "expanded_flag": 0,
            "sections_list": [  "perl-DBI", "perl-DBD-mysql",
		   						"perl-DBD-ODBC", "perl-DBD-Pg",
                                "perl-DBD-SQLite" ]
        }, // group_perl_databases 
        "group_database-tools": {
            "description": "Database Tools Packages",
            "expanded_flag": 0,
            "sections_list": [  "mysql-bin", "mysql-debug",
		   						"mysql-dev", "mysql-docs", "mysql-server",
            					"postgresql-bin",
		   						"postgresql-dev", "postgresql-docs", 
								"postgresql-server", 
                                "sqlite-bin", "sqlite-dev" ]
        }, // group_database-tools 
        "group_extra-tools": {
            "description": "Extra Tools Packages",
            "expanded_flag": 0,
            "sections_list": [  "gladewin32-bin", "unxutils", "lzma",
		   						"expat-bin"	]
        }, // group_extra-tools 
        "group_dev-packages": {
            "description": "Development Packages",
            "expanded_flag": 0,
            "sections_list": [  "mingw", "dmake", "gtk-core-dev",
                                "gtk-support-dev", "imagelibs-dev", 
                                "libglade-dev", "libgnomecanvas-dev",
							    "libgoocanvas-dev", "expat-dev"	]
        }, // group_dev-packages 
		"group_bloatware": {
            "description": "Bloatware Packages",
            "expanded_flag": 0,
            "sections_list": [  "gladewin32-dev", "imagelibs-utils",
		   						"gettext-utils", "dmake-extra" ]
		}, // group_bloatware
        "group_docs-examples": {
            "description": "Documentation and Examples",
            "expanded_flag": 0,
            "sections_list": [  "perl-5.10.0-html_docs", "gtk-core-doc",
                                "perl-gtk2-goo-canvas-examples" ]
        } // group_docs-examples
    }, // groups
    "packages": {
        "perl-5.10.0-core": {
            "description": "Perl 5.10.0 Base Package",
            "sectionin_list": [ 1, 2, 3, 4, 5, 6, 7 ] },
        // Core Gtk2-Perl Packages
        "gtk-core-bin": {
            "description": "Core GTK Binaries",
            "sectionin_list": [ 1, 2, 3, 4 ] },
        "imagelibs-bin": {
            "description": "imagelibs-bin (JPG/PNG/TIFF libraries)",
            "sectionin_list": [ 1, 2, 3, 4 ] },
        "gtk-support-bin": {
            "description": "gtk-support-bin (gettext/libintl/etc.)",
            "sectionin_list": [ 1, 2, 3, 4 ] },
        "perl-Gtk2-core": {
            "description": "Gtk2-Perl Core Modules (Cairo/Glib/Gtk2)",
            "sectionin_list": [ 1, 2, 3, 4 ] },
        // Extra Gtk2-Perl Packages
		"expat-bin": {
            "description": "Expat XML Parsing Library",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "libglade-bin": {
            "description": "libglade-bin (Glade/XML libraries)",
            "sectionin_list": [ 2, 3, 4 ] },
        "libgnomecanvas-bin": {
            "description": "libgnomecanvas-bin (Gnome Canvas libs.)",
            "sectionin_list": [ 2, 3, 4 ] },
        "libgoocanvas-bin": {
            "description": "libgoocanvas-bin (the GooCanvas libs.)",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Gnome2-Canvas": {
            "description": "Gnome2::Canvas (Perl GnomeCanvas libs.)",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Goo-Canvas": {
            "description": "Goo::Canvas (Perl GooCanvas libs.)",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Gtk2-GladeXML": {
            "description": "Gtk2::GladeXML (Perl Glade/XML libraries)",
            "sectionin_list": [ 2, 3, 4 ] },
        // Gtk2-Perl Applications
        "perl-App-Asciio": {
            "description": "Asciio - ASCII Art Editor",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-App-Sprog": {
            "description": "Sprog - Build programs using 'parts'",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Gtk2-Ex-Datasheet-DBI": {
            "description": "Gtk2::Ex::Datasheet::DBI - Model/Treeview Object",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Gtk2-Ex-DBI": {
            "description": "Gtk2::Ex::DBI - Bind Glade XML to a datasource",
            "sectionin_list": [ 2, 3, 4 ] },
        "perl-Gtk2-Ex-PodViewer": {
            "description": "Gtk2::Ex::PodViewer - a GTK Perl POD viewer",
            "sectionin_list": [ 2, 3, 4 ] },
        // Extra Perl Modules
		"perl-5.10.0-cpan_metadata": {
            "description": "CPAN Metadata files",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-Bundle-libwin32": {
            "description": "Bundle::libwin32; Windows-specific Perl modules",
            "sectionin_list": [ 1, 2, 3, 4, 6 ] },
        "perl-JSON": {
            "description": "JSON: Javascript data serialization/storage",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-Log-Log4perl": {
            "description": "Log::Log4perl: A Perl clone of log4j (but better)",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-LWP": {
            "description": "LWP/libwww-perl",
            "sectionin_list": [ 1, 2, 3, 4, 6 ] },
        "perl-Moose": {
            "description": "Moose: a Post-Modern Object Framework for Perl",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-PAR": {
            "description": "PAR: Perl Archive Toolkit",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-PAR-Packer": {
            "description": "PAR::Packer: The PAR Packer (creator) Toolkit",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-TimeDate": {
            "description": "Date::Format: Date formatting subroutines",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-Tk": {
            "description": "Tk: Perl bindings for the Tk widget toolkit",
            "sectionin_list": [ 3, 4 ] },
        "perl-Win32-API-ODBC": {
            "description": "Win32::API and Win32::ODBC Modules",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-XML-Parser": {
            "description": "XML::Parser - XML document parsing in Perl",
            "sectionin_list": [ 2, 3, 4, 6 ] },
        "perl-YAML": {
            "description": "YAML - Yet Another Markup Language",
            "sectionin_list": [ 1, 2, 3, 4, 6 ] },
        // Perl Database Support
        "perl-DBI": {
            "description": "DBI - Database Independent Interface",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "perl-DBD-mysql": {
            "description": "DBD::mysql - DBD driver for MySQL",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "perl-DBD-ODBC": {
            "description": "DBD::ODBC - ODBC Driver for Perl DBI",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "perl-DBD-Pg": {
            "description": "DBD::Pg - DBD driver for PostgreSQL",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "perl-DBD-SQLite": {
            "description": "DBD::SQLite - Pure Perl DBD driver for SQLite",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        // Database Tools
        "mysql-bin": {
            "description": "MySQL Client Binary and Library (mysql.exe, libmysql.dll)",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "mysql-debug": {
            "description": "MySQL Debugging Binaries",
            "sectionin_list": [ 4 ] },
        "mysql-dev": {
            "description": "MySQL Devel. (headers and import libs)",
            "sectionin_list": [ 3, 4 ] },
        "mysql-docs": {
            "description": "MySQL Documentation in .CHM format",
            "sectionin_list": [ 3, 4 ] },
        "mysql-server": {
            "description": "MySQL Server Binaries",
            "sectionin_list": [ 4 ] },
        "postgresql-bin": {
            "description": "PostgreSQL Client Binary/Library (psql.exe, libpq.dll)",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "postgresql-dev": {
            "description": "PostgreSQL Devel. (headers and import libs)",
            "sectionin_list": [ 3, 4 ] },
        "postgresql-docs": {
            "description": "PostgreSQL Documentation in HTML/manpage format",
            "sectionin_list": [ 3, 4 ] },
        "postgresql-server": {
            "description": "PostgreSQL Server Binaries",
            "sectionin_list": [ 4 ] },
        "sqlite-bin": {
            "description": "SQLite Client Binary (sqlite3.exe)",
            "sectionin_list": [ 1, 2, 3, 4, 7 ] },
        "sqlite-dev": {
            "description": "SQLite Devel. (headers and import libs)",
            "sectionin_list": [ 3, 4 ] },
        // Development Packages
        "dmake": {
            "description": "dmake Makefile Processor",
            "sectionin_list": [ 3, 4 ] },
        "expat-dev": {
            "description": "Expat XML Parser Development Files",
            "sectionin_list": [ 3, 4 ] },
        "gladewin32-dev": {
            "description": "Glade for Windows Development Files",
            "sectionin_list": [ 3, 4 ] },
        "gtk-core-dev": {
            "description": "Core GTK Development Files",
            "sectionin_list": [ 3, 4 ] },
        "gtk-support-dev": {
            "description": "gtk-support-dev (gettext/libintl/etc.)",
            "sectionin_list": [ 3, 4 ] },
        "imagelibs-dev": {
            "description": "imagelibs-dev (JPG/PNG/TIFF Headers)",
            "sectionin_list": [ 3, 4 ] },
        "libglade-dev": {
            "description": "libglade-dev (Glade Headers)",
            "sectionin_list": [ 3, 4 ] },
        "libgnomecanvas-dev": {
            "description": "libgnomecanvas-dev (GnomeCanvas Headers)",
            "sectionin_list": [ 3, 4 ] },
        "libgoocanvas-dev": {
            "description": "libgoocanvas-dev (GooCanvas Headers)",
            "sectionin_list": [ 3, 4 ] },
        "mingw": {
            "description": "Minimal GNU for Windows (MinGW) Toolkit",
            "sectionin_list": [ 3, 4 ] },
        // Extra Tools Packages
        "gladewin32-bin": {
            "description": "Glade XML GUI Builder Tool",
            "sectionin_list": [ 2, 3, 4 ] },
        "lzma": {
            "description": "LZMA Compression Utility",
            "sectionin_list": [ 2, 3, 4 ] },
        "unxutils": {
            "description": "UnxUtilities for Windows",
            "sectionin_list": [ 2, 3, 4 ] },
		// Bloatware
		"imagelibs-utils": {
            "description": "imagelibs Utilities",
            "sectionin_list": [ 4 ] },
        "gettext-utils": {
            "description": "gettext Utilities",
            "sectionin_list": [ 4 ] },
        "dmake-extra": {
            "description": "dmake Makefile Processor (extra files)",
            "sectionin_list": [ 4 ] },
        // Documentation and Examples
        "perl-5.10.0-html_docs": {
            "description": "Perl 5.10.0 HTML Documentation",
            "sectionin_list": [ 3, 4 ] },
        "gtk-core-doc": {
            "description": "GTK C API HTML/SGML Documentation",
            "sectionin_list": [ 3, 4 ] },
        "perl-gtk2-goo-canvas-examples": {
            "description": "Gtk2-Perl and GooCanvas Example Scripts",
            "sectionin_list": [ 3, 4 ],
            "extra_options": "StrCpy $demosInstalled 'true'" }
    } // packages
} // JSON data block
// fin vim: filetype=javascript
